Sample Code - Creating a Report Object

This sample code shows how to create a Report Object. Modify the following sample code to fit your needs.

Private Sub Command1_Click()
    On Error GoTo Command1_Click_Error

Dim crystalApplication As CRPEAuto.Application
Dim crystalReport As CRPEAuto.Report
Dim crystalFormFieldDefns As CRPEAuto.FormulaFieldDefinitions
Dim crystalFormFieldDefn As CRPEAuto.FormulaFieldDefinition

Dim strFormulaFieldName As String
Dim strDefinitionName As String
Dim strDefinitionText As String
Dim boolDefinitionCheckFlag As Boolean
Dim strFieldValueType As String Dim intLoopCount As Integer
Set crystalApplication = CreateObject("Crystal.CRPE.Application")
Set crystalReport = crystalApplication.OpenReport _
        ("d:\crw\reports\craze\wwsales.rpt") Set crystalFormFieldDefns = crystalReport.FormulaFields 'here we loop through each of the FormulaFieldDefinition records
'pulling out the information we need on a record by record basis
For intLoopCount = 1 To crystalFormFieldDefns.Count
Set crystalFormFieldDefn = crystalFormFieldDefns.Item(intLoopCount)
strFormulaFieldName = crystalFormFieldDefn.FormulaFieldName
strDefinitionName = crystalFormFieldDefn.Name
strDefinitionText = crystalFormFieldDefn.Text

boolDefinitionCheckFlag = crystalFormFieldDefn.Check

Select Case crystalFormFieldDefn.ValueType
'for more information on the list of ValueType values
'please see CRFieldValueType in the VisualBasic Object Browser
Case 7
strFieldValueType = "Number"
Case 8
strFieldValueType = "Currency"
Case 9
strFieldValueType = "Boolean"
Case 10
strFieldValueType = "Date"
Case 11
strFieldValueType = "Time"
Case 12
strFieldValueType = "String"
Case 14
strFieldValueType = "PersistentMemo"
Case 15
strFieldValueType = "BLOB"
Case Else
strFieldValueType = "Unknown"
End Select

Debug.Print "************************************************"
Debug.Print "FormulaDefinition(" + Format(intLoopCount) + ")"
Debug.Print " FormulaFieldName<" + strFormulaFieldName + ">"
Debug.Print " Name<" + strDefinitionName + ">"
Debug.Print " Text<" + strDefinitionText + ">"
Debug.Print " Check<" + Format(boolDefinitionCheckFlag) + ">"
Debug.Print " ValueType<" + strFieldValueType + ">"
Next intLoopCount

Command1_Click_Exit:
Exit Sub

Command1_Click_Error
If crystalApplication Is Nothing Then
MsgBox "Unable to CreateObject(""Crystal.CRPE.Application"")"
GoTo Command1_Click_Exit
End If
If crystalReport Is Nothing Then
MsgBox "Unable to OpenReport(""d:\crw\reports\craze\wwsales.rpt"")"
GoTo Command1_Click_Exit
End If
MsgBox "Unknown error in Command1_Click routine"
GoTo Command1_Click_Exit
End Sub


Seagate Software IMG Holdings, Inc.
http://www.seagatesoftware.com
Support services:
http://support.seagatesoftware.com